// pages/record/noteDetail/noteDetail.js

//获取应用实例
const app = getApp()

Page({

    data: {
        // 提供给用户的滚动选择器的数据
        multiArray: [['普通', '重要'], ['上午', '下午', '晚上']],
        objectMultiArray: [
            [
                {
                    id: 0,
                    name: '普通'
                },
                {
                    id: 1,
                    name: '重要'
                }
            ], [
                {
                    id: 0,
                    name: '上午'
                },
                {
                    id: 1,
                    name: '下午'
                },
                {
                    id: 2,
                    name: '晚上'
                }
            ]
        ],
        // 点击 “滚动选择器” 的确定按钮之后，选择的数据，下标从0开始
        multiIndex: [0, 0],

        // 输入框中输入的值，封装成一个 target 传递个后端，进行更新数据操作
        target: {
            // 本条 target 记录的 id
            id: "",
            // 用户id
            uid: "",
            // 滚动选择器的内容
            multiIndex: [0, 0],
            // input 输入框的内容(代办事项标题)
            inputValue: "",
            // textArea 文本输入框的内容（代办事项内容）
            textAreaValue: "",
            // 是否完成
            isFinished: "",
            // 创建时间
            gmtCreate: ""
        },

        // 从上一个页面中传递过来的值
        targetFromUpPage: {},


    },

    // "滚动选择器" 点击确定按钮是触发的事件
    bindMultiPickerChange: function (e) {
        console.log('picker发送选择改变，携带值为', e.detail.value)
        this.setData({
            'target.multiIndex': e.detail.value
        })
    },

    // 滑动更改选项时触发的函数，在这里面对 this.data 里面的数据进行修改，因为用户没有点击确定按钮
    bindMultiPickerColumnChange: function (e) {
        // console.log('修改的列为', e.detail.column, '，值为', e.detail.value);
        // var data = {
        // 	multiArray: this.data.multiArray,
        // 	multiIndex: this.data.multiIndex
        // };
        // data.multiIndex[e.detail.column] = e.detail.value;

        // console.log(data.multiIndex);
        // this.setData(data);
    },

    // input 输入框输入事件，实时获取输入框的内容
    bindKeyInput: function (e) {
        this.setData({
            "target.inputValue": e.detail.value
        })
    },

    // textArea 文本输入框的数量事件，实时获取文本输入框的内容
    bindTextAreaInput: function (e) {
        this.setData({
            "target.textAreaValue": e.detail.value
        })
    },

    // 点击 “确定” 按钮，手动发送请求给后端服务器
    mySubmit: function (e) {

        // 这里是更新记录
        wx.request({
            url: app.globalData.url + 'wx/updateTarget',
            method: 'POST',
            header: { 'content-type': 'application/x-www-form-urlencoded' },
            data: {
                // target 记录的 id
                id: this.data.target.id,
                // 用户id
                uid: this.data.target.uid,
                importance: this.data.target.multiIndex[0],
                timeflag: this.data.target.multiIndex[1],
                inputValue: this.data.target.inputValue,
                textAreaValue: this.data.target.textAreaValue,
                isFinished: this.data.target.isFinished,
                gmtCreate: this.data.target.gmtCreate
            },
            success: res => {

                // 返回的 code 等于 87014，说明存在敏感内容
				if (res.data.code == 87014) {
					wx.hideLoading({
						success: (res) => { },
					})

					wx.showModal({
						title: '失败',
						content: '请勿发表敏感内容',
						showCancel: false,
						success: res => {
							if (res.confirm) {
								console.log('用户点击确定')
							}
						}
					})
					return;
				}


                wx.showToast({
                    title: '更新成功',
                    icon: 'success',
                    duration: 1500
                })

                // 2. 延时一段时间后，返回上一页
                setTimeout(function () {

                    // 上一页刷新
                    var pages = getCurrentPages()
                    console.log(pages);
                    pages[pages.length - 2].onLoad()

                    wx.navigateBack({
                        delta: 1,
                    })
                }, 1500);
            }
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

        // 从全局 data 中获取 用户id
        var app = getApp();

        console.log("uid = ", app.globalData.myUserInfo.id);

        this.setData({
            "target.uid": app.globalData.myUserInfo.id
        })

        // 获取当前记录的 id
        // 监听acceptDataFromOpenerPage事件，获取上一页面通过eventChannel传送到当前页面的数据
        const eventChannel = this.getOpenerEventChannel()
        // 赋值数据时，需要注意大小写
        eventChannel.on('acceptDataFromOpenerPage', (data) => {
            console.log("上一个页面传递过来的data：", data);
            this.setData({
                "target.id": data.data,
            });

            // 由于从上个页面中获取数据，可能存在延迟问题，所以发起请求的代码要放在这里面执行，放在外面的话可能执行不了
            // 2. 获得一条记录的 id 之后，查询数据库
            wx.request({
                url: app.globalData.url + 'wx/getTargetById',
                method: "GET",
                data: {
                    "id": this.data.target.id
                },
                success: res => {
                    console.log("查询到的一条代办事项", res);

                    this.setData({
                        "target.id": res.data.id,
                        "target.uid": res.data.uId,
                        "target.multiIndex[0]": res.data.importance,
                        "target.multiIndex[1]": res.data.timeFlag,
                        "target.inputValue": res.data.title,
                        "target.textAreaValue": res.data.remark,
                        "target.isFinished": res.data.isFinished,
                        "target.gmtCreate": res.data.gmtCreate
                    })
                }
            })


        });



    }
})